package br.com.cardapiolivre.entidades;

import java.util.List;
import javax.persistence.*;

@Entity
@Table(name = "estabelecimentos")
public class Estabelecimento extends Entidade {

    private String nome;
    private String descricao;
    private String telefones;
    private String logo;
    @OneToOne
    @JoinColumn(name = "endereco_id")
    private Endereco endereco;
    @ManyToMany
    @JoinTable(name = "estabelecimentos_tipo_estabelecimentos",
    joinColumns =
    @JoinColumn(name = "estabelecimento_id"),
    inverseJoinColumns =
    @JoinColumn(name = "tipo_estabelecimento_id"))
    private List<TipoEstabelecimento> listaTiposEstabelecimento;
    @ManyToMany
    @JoinTable(name = "estabelecimentos_culinarias",
    joinColumns =
    @JoinColumn(name = "estabelecimento_id"),
    inverseJoinColumns =
    @JoinColumn(name = "culinaria_id"))
    private List<Culinaria> listaCulinarias;
    @OneToOne
    @JoinColumn(name = "cardapio_id")
    private Cardapio cardapio;
    @OneToOne
    @JoinColumn(name = "delivery_id")
    private Delivery delivery;
    @OneToOne
    @JoinColumn(name = "selfservice_id")
    private SelfService selfservice;
    @OneToOne
    @JoinColumn(name = "rodizio_id")
    private Rodizio rodizio;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public String getTelefones() {
        return telefones;
    }

    public void setTelefones(String telefones) {
        this.telefones = telefones;
    }

    public String getLogo() {
        return logo;
    }

    public void setLogo(String logo) {
        this.logo = logo;
    }

    public Endereco getEndereco() {
        return endereco;
    }

    public void setEndereco(Endereco endereco) {
        this.endereco = endereco;
    }

    public List<TipoEstabelecimento> getListaTiposEstabelecimento() {
        return listaTiposEstabelecimento;
    }

    public void setListaTiposEstabelecimento(List<TipoEstabelecimento> listaTiposEstabelecimento) {
        this.listaTiposEstabelecimento = listaTiposEstabelecimento;
    }

    public List<Culinaria> getListaCulinarias() {
        return listaCulinarias;
    }

    public void setListaCulinarias(List<Culinaria> listaCulinarias) {
        this.listaCulinarias = listaCulinarias;
    }

    public Cardapio getCardapio() {
        return cardapio;
    }

    public void setCardapio(Cardapio cardapio) {
        this.cardapio = cardapio;
    }

    public Delivery getDelivery() {
        return delivery;
    }

    public void setDelivery(Delivery delivery) {
        this.delivery = delivery;
    }

    public SelfService getSelfservice() {
        return selfservice;
    }

    public void setSelfservice(SelfService selfservice) {
        this.selfservice = selfservice;
    }

    public Rodizio getRodizio() {
        return rodizio;
    }

    public void setRodizio(Rodizio rodizio) {
        this.rodizio = rodizio;
    }
}
